package com.bcmusic.order.service;

import com.bcmusic.music.pojo.Music;
import com.bcmusic.order.pojo.OrderCart;
import com.bcmusic.order.pojo.OrderDetail;
import com.bcmusic.order.pojo.Orders;
import com.github.pagehelper.PageInfo;
import io.swagger.models.auth.In;

import java.util.List;

/****
 * @Author:admin
 * @Description:OrderDetail业务层接口
 * @Date 2019/6/14 0:16
 *****/
public interface OrderDetailService {

    /***
     * OrderDetail多条件分页查询
     * @param orderDetail
     * @param page
     * @param size
     * @return
     */
    PageInfo<OrderDetail> findPage(OrderDetail orderDetail, int page, int size);

    /***
     * OrderDetail分页查询
     * @param page
     * @param size
     * @return
     */
    PageInfo<OrderDetail> findPage(int page, int size);

    /***
     * OrderDetail多条件搜索方法
     * @param orderDetail
     * @return
     */
    List<OrderDetail> findList(OrderDetail orderDetail);

    /***
     * 删除OrderDetail
     * @param id
     */
    void delete(Integer id);

    /***
     * 修改OrderDetail数据
     * @param orderDetail
     */
    void update(OrderDetail orderDetail);

    /***
     * 新增OrderDetail
     * @param orderDetail
     */
    void add(OrderDetail orderDetail);

    /**
     * 根据ID查询OrderDetail
     * @param id
     * @return
     */
     OrderDetail findById(Integer id);

    /***
     * 查询所有OrderDetail
     * @return
     */
    List<OrderDetail> findAll();

    /**
     * 支付完成后系统调用这个接口通过购物车中的信息更新订单详情表
     * @param orderCartList
     * @return
     */
    List<OrderDetail>finishOrder(List<OrderCart>orderCartList,Integer orderId);

    /**
     * 根据用户num以及详情id来进行凭证查询，num用作校验
     * @param userNum
     * @param orderDetail
     * @param music
     * @return
     */
    String getCertificate(String userNum, OrderDetail orderDetail, Music music);


}
